﻿//  Copyright (c) Microsoft Corporation.  All rights reserved.

namespace TFSAccess
{
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using Microsoft.TeamFoundation.WorkItemTracking.Client;
    using Microsoft.TeamFoundation.Client;

    /// <summary>
    /// Reponsible for all TFS related activities
    /// </summary>
    public interface IWorkItemGenerator : IDisposable, INotifyPropertyChanged
    {
        /// <summary>
        /// TFS Server Collection URL
        /// </summary>
        string Server { get; }


        /// <summary>
        /// Team Project Name
        /// </summary>
        string Project { get; }


        /// <summary>
        /// Gets the name of all workitem types in a Workitem Category
        /// </summary>
        /// <param name="wiCategaory"></param>
        /// <returns></returns>
        IList<string> WorkItemTypeNames { get; }


        /// <summary>
        /// Returns the name of the default workitem type in a workitem category
        /// </summary>
        /// <param name="wiCategaory"></param>
        /// <returns></returns>
        string DefaultWorkItemTypeName { get; }


        /// <summary>
        /// Slected WorkItem Type's Name
        /// </summary>
        string SelectedWorkItemTypeName { get; set; }


        string WorkItemCategory { get; }
        TfsTeamProjectCollection TeamProjectCollection { get; }
    }
}
